package com.ls.lserp.modules.common.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.ls.lserp.common.persistence.DataEntity;
import com.ls.lserp.modules.order.entity.Order;
import com.ls.lserp.modules.setting.entity.InventoryWarning;
//import com.ls.lserp.modules.setting.entity.InventoryMaterial;
//import com.ls.lserp.modules.setting.entity.MaterialAlert;
//import com.ls.lserp.modules.setting.entity.MaterialPrice;
import com.ls.lserp.modules.setting.entity.Ognization;
import com.ls.lserp.modules.sys.entity.Brand;


public class Material extends DataEntity<Material>{
	// 组织表客户
	public static final String OGNIZATION_CUSTOMER = "5";
	// 组织表供货商
	public static final String OGNIZATION_SUPPLIER = "4";
	
	//库存预警实体类
	private InventoryWarning inventoryWarning;
	
    // 原辅料中文名称
    private String materialNameCn;
    
    // 原辅料英文名称
    private String materialNameEn;
    
    // 原辅料产地
    private String materialProduced;
    
    // 原辅料库存
    private String materialQuantity;
    
    // 原辅料名
    private String materialName;
    
    // 原辅料条形码
    private String materialBarCode;
    
    // 原辅料代码
    private String materialCode;
    
    // 原辅料系统代码
    private String materialSystemCode;
    
    // 面料使用类别
    private String materialType;
    
    // 原辅料分类CD
    private String materialTypeCd;
    
    // 成分CD
    private String materialCompositionCd;
     
    // 成分
    private String materialComposition;
    
    // 规格
    private String materialSpec;
    
    // 规格单位CD
    private String materialSpecUnitCd;
    
    // 货品单位CD
    private String materialUnitCd;
    
    // 出口退税基准CD
    private String materialTaxRebateCd;
    
    // 图片路径
    private String filePath;

    // 面料价格
    private BigDecimal materialCost;
    
    // 物料用途
    private String materialUseType;
    
    // 物料针码
    private String materialStitch;
    
    // 原辅料年份
    private String materialYear;
    
    // 原辅料织制工艺(平纹,斜纹,缎纹,对格,对条)
    private String materialCraft;
    
    // 原辅料颜色
    private String materialColor;
    
    // 原辅料季节
    private String materialSeason;
    
 	// 物料售价关联实体类
// 	private MaterialPrice materialPrice;
 	
 	// 原辅料出厂价 关联表i_material_price_s
 	private BigDecimal purchasePrice;
 	
 	// 原辅料款式类别
 	private String materialStyleCategory;
 	
 	// 原辅料部位
 	private String materialPlacement;
 	
	// 外键（文件ID:a_upload_file_p）
	private long fileId;
	
	// 品牌ID字符串
	private String brandIdStr;
	
	// 入出库明细ID
	private Long inventoryDetailID;
	
	// 入出库区分
	private String inventoryInOutKbn;
	
	// 客户
	private String customerIDStr;
	
	// 品牌
	private String brandIDStr;
	
	//入出库数量（移出）
	private String outQuantity;
	
	//入出库数量（移入）
	private String inQuantity;
	
	//仓库位置（移出）
	private String outWarehousePlace;
		
	//仓库位置（移入）
	private String inWarehousePlace;
	
	//货架位置（移出）
	private String outRackPlace;
	
	//货架位置（移入）
	private String inRackPlace;
	
	//集合
	private List<Material> materialList;
	
	//库存集
	private List<Material> stockList;
	
	// 扣号集
	private List<Material> buttonList;
	
	//申请单号
	private String inventoryRequestNo;
	
	//入出库日期
	private Date inOutDate;
	
	//经办人员
	private String inOutUser;
	
	//申请日期
	private Date requestDate;
	
	//申请人员
	private String requestUser;
	//缝制线色
	private String materialOther3;
	//缝线规格
	private String materialOther4;
	//扣号
	private String materialOther5;
	//面料厚度
	private String materialOther6;
	//面料弹力
	private String materialOther7;
	
	
	
	
	public String getMaterialOther5() {
		return materialOther5;
	}

	public void setMaterialOther5(String materialOther5) {
		this.materialOther5 = materialOther5;
	}

	/**
	 * @return the materialSystemCode
	 */
	public String getMaterialSystemCode() {
		return materialSystemCode;
	}

	/**
	 * @param materialSystemCode the materialSystemCode to set
	 */
	public void setMaterialSystemCode(String materialSystemCode) {
		this.materialSystemCode = materialSystemCode;
	}

	public String getMaterialOther4() {
		return materialOther4;
	}

	public void setMaterialOther4(String materialOther4) {
		this.materialOther4 = materialOther4;
	}

	public String getMaterialOther3() {
		return materialOther3;
	}

	public void setMaterialOther3(String materialOther3) {
		this.materialOther3 = materialOther3;
	}
	/**
	 * @return the inventoryWarning
	 */
	public InventoryWarning getInventoryWarning() {
		return inventoryWarning;
	}

	/**
	 * @param inventoryWarning the inventoryWarning to set
	 */
	public void setInventoryWarning(InventoryWarning inventoryWarning) {
		this.inventoryWarning = inventoryWarning;
	}

	/**
	 * @return the stockList
	 */
	public List<Material> getStockList() {
		return stockList;
	}

	/**
	 * @param stockList the stockList to set
	 */
	public void setStockList(List<Material> stockList) {
		this.stockList = stockList;
	}

	/**
	 * @return the materialType
	 */
	public String getMaterialType() {
		return materialType;
	}

	/**
	 * @param materialType the materialType to set
	 */
	public void setMaterialType(String materialType) {
		this.materialType = materialType;
	}

	/**
	 * @return the inOutDate
	 */
	public Date getInOutDate() {
		return inOutDate;
	}

	/**
	 * @return the requestDate
	 */
	public Date getRequestDate() {
		return requestDate;
	}

	/**
	 * @param inOutDate the inOutDate to set
	 */
	public void setInOutDate(Date inOutDate) {
		this.inOutDate = inOutDate;
	}

	/**
	 * @param requestDate the requestDate to set
	 */
	public void setRequestDate(Date requestDate) {
		this.requestDate = requestDate;
	}

	/**
	 * @return the inventoryRequestNo
	 */
	public String getInventoryRequestNo() {
		return inventoryRequestNo;
	}

	/**
	 * @return the inOutUser
	 */
	public String getInOutUser() {
		return inOutUser;
	}

	/**
	 * @return the requestUser
	 */
	public String getRequestUser() {
		return requestUser;
	}

	/**
	 * @param inventoryRequestNo the inventoryRequestNo to set
	 */
	public void setInventoryRequestNo(String inventoryRequestNo) {
		this.inventoryRequestNo = inventoryRequestNo;
	}

	/**
	 * @param inOutUser the inOutUser to set
	 */
	public void setInOutUser(String inOutUser) {
		this.inOutUser = inOutUser;
	}

	/**
	 * @param requestUser the requestUser to set
	 */
	public void setRequestUser(String requestUser) {
		this.requestUser = requestUser;
	}

	/**
	 * @return the materialList
	 */
	public List<Material> getMaterialList() {
		return materialList;
	}

	/**
	 * @param materialList the materialList to set
	 */
	public void setMaterialList(List<Material> materialList) {
		this.materialList = materialList;
	}

	/**
	 * @return the inventoryDetailID
	 */
	public Long getInventoryDetailID() {
		return inventoryDetailID;
	}

	/**
	 * @param inventoryDetailID the inventoryDetailID to set
	 */
	public void setInventoryDetailID(Long inventoryDetailID) {
		this.inventoryDetailID = inventoryDetailID;
	}

	/**
	 * @return the customerIDStr
	 */
	public String getCustomerIDStr() {
		return customerIDStr;
	}

	/**
	 * @return the brandIDStr
	 */
	public String getBrandIDStr() {
		return brandIDStr;
	}

	/**
	 * @param customerIDStr the customerIDStr to set
	 */
	public void setCustomerIDStr(String customerIDStr) {
		this.customerIDStr = customerIDStr;
	}

	/**
	 * @param brandIDStr the brandIDStr to set
	 */
	public void setBrandIDStr(String brandIDStr) {
		this.brandIDStr = brandIDStr;
	}

	/**
	 * @return the outWarehousePlace
	 */
	public String getOutWarehousePlace() {
		return outWarehousePlace;
	}

	/**
	 * @return the inWarehousePlace
	 */
	public String getInWarehousePlace() {
		return inWarehousePlace;
	}

	/**
	 * @param outWarehousePlace the outWarehousePlace to set
	 */
	public void setOutWarehousePlace(String outWarehousePlace) {
		this.outWarehousePlace = outWarehousePlace;
	}

	/**
	 * @param inWarehousePlace the inWarehousePlace to set
	 */
	public void setInWarehousePlace(String inWarehousePlace) {
		this.inWarehousePlace = inWarehousePlace;
	}

	/**
	 * @return the inventoryInOutKbn
	 */
	public String getInventoryInOutKbn() {
		return inventoryInOutKbn;
	}

	/**
	 * @return the outQuantity
	 */
	public String getOutQuantity() {
		return outQuantity;
	}

	/**
	 * @return the inQuantity
	 */
	public String getInQuantity() {
		return inQuantity;
	}

	/**
	 * @return the outRackPlace
	 */
	public String getOutRackPlace() {
		return outRackPlace;
	}

	/**
	 * @return the inRackPlace
	 */
	public String getInRackPlace() {
		return inRackPlace;
	}

	/**
	 * @param inventoryInOutKbn the inventoryInOutKbn to set
	 */
	public void setInventoryInOutKbn(String inventoryInOutKbn) {
		this.inventoryInOutKbn = inventoryInOutKbn;
	}

	/**
	 * @param outQuantity the outQuantity to set
	 */
	public void setOutQuantity(String outQuantity) {
		this.outQuantity = outQuantity;
	}

	/**
	 * @param inQuantity the inQuantity to set
	 */
	public void setInQuantity(String inQuantity) {
		this.inQuantity = inQuantity;
	}

	/**
	 * @param outRackPlace the outRackPlace to set
	 */
	public void setOutRackPlace(String outRackPlace) {
		this.outRackPlace = outRackPlace;
	}

	/**
	 * @param inRackPlace the inRackPlace to set
	 */
	public void setInRackPlace(String inRackPlace) {
		this.inRackPlace = inRackPlace;
	}

	/**
	 * @return the brandIdStr
	 */
	public String getBrandIdStr() {
		return brandIdStr;
	}

	/**
	 * @param brandIdStr the brandIdStr to set
	 */
	public void setBrandIdStr(String brandIdStr) {
		this.brandIdStr = brandIdStr;
	}

	/**
	 * @return the fileId
	 */
	public long getFileId() {
		return fileId;
	}

	/**
	 * @param fileId the fileId to set
	 */
	public void setFileId(long fileId) {
		this.fileId = fileId;
	}

	// 上传文件
	private UploadFile  uploadFile;
	
	// 预警数量
//	private MaterialAlert materialAlert;
	
	// 物料克重
	private String materialGramWeight;
	
	// 物料等级
	private String materialLevel;
	
	// 物料织法
	private String materialKnitMethod;
	

	// 样品物料区分
	private String materialSample;
	
	// 物料来源
	private String materialSource;
	
	// 物料纱支密度
	private String materialThreadCount;
	
	// 物料风格
	private String materialStyle;
	// 客户ID
	private String venderId;
	
	//
	private String winFlag;
	//面料客户关联表
	private long venderMaterialID;
	//品牌ID
	private Long brandID;
	
	// 品牌名
	private String brandName;
	
	// 来源机构
	private List<Ognization> ognizationList; 
	
	// 来源品牌
	private List<Brand> brandList; 
	
	// 供货商名称
	private String materialSupplierName;
		
	// 物料所属
	private String materialBelongs;
	
	// 物料机构名
	private String materialOgnizationId;
	
	// 组织机构名
	private String ognizationName;
	
	// 组织机构类型
	private String ognizationType;
	
	//面料ID
	private long materialId;
	
	 // 创建者ID
    private long userId;
    
    //
    private String brandCn;
    
	// 品牌IDList
	private ArrayList brandIDList = new ArrayList();
    
	/**
	 * @return the brandIDList
	 */
	public ArrayList getBrandIDList() {
		return brandIDList;
	}

	/**
	 * @param brandIDList the brandIDList to set
	 */
	public void setBrandIDList(ArrayList brandIDList) {
		this.brandIDList = brandIDList;
	}

	/**
	 * @return the brandCn
	 */
	public String getBrandCn() {
		return brandCn;
	}

	/**
	 * @param brandCn the brandCn to set
	 */
	public void setBrandCn(String brandCn) {
		this.brandCn = brandCn;
	}

	public long getUserId() {
        return userId;
    }

    public Material setUserId(long userId) {
        this.userId = userId;
        return this;
    }
 // 修改者ID
    private long updateId;
    public long getUpdateId() {
        return updateId;
    }

    public Material setUpdateId(long updateId) {
        this.updateId = updateId;
        return this;
    }

   
	// 库存数量
//	private InventoryMaterial inventoryMaterial;
	
	
	
    public String getMaterialNameCn() {
        return materialNameCn;
    }

	/**
	 * @return the venderMaterialID
	 */
	public long getVenderMaterialID() {
		return venderMaterialID;
	}

	/**
	 * @param venderMaterialID the venderMaterialID to set
	 */
	public void setVenderMaterialID(long venderMaterialID) {
		this.venderMaterialID = venderMaterialID;
	}


	/**
	 * @return the brandID
	 */
	public Long getBrandID() {
		return brandID;
	}

	/**
	 * @param brandID the brandID to set
	 */
	public void setBrandID(Long brandID) {
		this.brandID = brandID;
	}

	/**
	 * @return the materialId
	 */
	public long getMaterialId() {
		return materialId;
	}

	/**
	 * @param materialId the materialId to set
	 */
	public void setMaterialId(long materialId) {
		this.materialId = materialId;
	}

	/**
	 * @return the winFlag
	 */
	public String getWinFlag() {
		return winFlag;
	}

	/**
	 * @param winFlag the winFlag to set
	 */
	public void setWinFlag(String winFlag) {
		this.winFlag = winFlag;
	}



	/**
	 * @return the materialQuantity
	 */
	public String getMaterialQuantity() {
		return materialQuantity;
	}


	/**
	 * @param materialQuantity the materialQuantity to set
	 */
	public void setMaterialQuantity(String materialQuantity) {
		this.materialQuantity = materialQuantity;
	}


	/**
	 * @return the materialProduced
	 */
	public String getMaterialProduced() {
		return materialProduced;
	}

	/**
	 * @param materialProduced the materialProduced to set
	 */
	public void setMaterialProduced(String materialProduced) {
		this.materialProduced = materialProduced;
	}

	/**
	 * @return the brandName
	 */
	public String getBrandName() {
		return brandName;
	}

	/**
	 * @param brandName the brandName to set
	 */
	public void setBrandName(String brandName) {
		this.brandName = brandName;
	}

	/**
	 * @return the materialSupplierName
	 */
	public String getMaterialSupplierName() {
		return materialSupplierName;
	}

	/**
	 * @param materialSupplierName the materialSupplierName to set
	 */
	public void setMaterialSupplierName(String materialSupplierName) {
		this.materialSupplierName = materialSupplierName;
	}


	/**
	 * @return the brandList
	 */
	public List<Brand> getBrandList() {
		return brandList;
	}

	/**
	 * @param brandList the brandList to set
	 */
	public void setBrandList(List<Brand> brandList) {
		this.brandList = brandList;
	}

	/**
	 * @return the ognizationCustomer
	 */
	public static String getOgnizationCustomer() {
		return OGNIZATION_CUSTOMER;
	}

	/**
	 * @return the ognizationSupplier
	 */
	public static String getOgnizationSupplier() {
		return OGNIZATION_SUPPLIER;
	}

	/**
	 * @return the ognizationType
	 */
	public String getOgnizationType() {
		return ognizationType;
	}

	/**
	 * @param ognizationType the ognizationType to set
	 */
	public void setOgnizationType(String ognizationType) {
		this.ognizationType = ognizationType;
	}

	/**
	 * @return the materialSample
	 */
	public String getMaterialSample() {
		return materialSample;
	}

	/**
	 * @return the materialSource
	 */
	public String getMaterialSource() {
		return materialSource;
	}

	/**
	 * @return the materialThreadCount
	 */
	public String getMaterialThreadCount() {
		return materialThreadCount;
	}

	/**
	 * @return the materialStyle
	 */
	public String getMaterialStyle() {
		return materialStyle;
	}

	

	/**
	 * @param materialSample the materialSample to set
	 */
	public void setMaterialSample(String materialSample) {
		this.materialSample = materialSample;
	}

	/**
	 * @param materialSource the materialSource to set
	 */
	public void setMaterialSource(String materialSource) {
		this.materialSource = materialSource;
	}

	/**
	 * @param materialThreadCount the materialThreadCount to set
	 */
	public void setMaterialThreadCount(String materialThreadCount) {
		this.materialThreadCount = materialThreadCount;
	}

	/**
	 * @param materialStyle the materialStyle to set
	 */
	public void setMaterialStyle(String materialStyle) {
		this.materialStyle = materialStyle;
	}

	

	public void setMaterialNameCn(String materialNameCn) {
        this.materialNameCn = materialNameCn;
    }

    public String getMaterialNameEn() {
        return materialNameEn;
    }

    public void setMaterialNameEn(String materialNameEn) {
        this.materialNameEn = materialNameEn;
    }

    public String getMaterialBarCode() {
        return materialBarCode;
    }

    public void setMaterialBarCode(String materialBarCode) {
        this.materialBarCode = materialBarCode;
    }

    public String getMaterialCode() {
        return materialCode;
    }

    public void setMaterialCode(String materialCode) {
        this.materialCode = materialCode;
    }

    public String getMaterialTypeCd() {
        return materialTypeCd;
    }

    public void setMaterialTypeCd(String materialTypeCd) {
        this.materialTypeCd = materialTypeCd;
    }

    public String getMaterialCompositionCd() {
        return materialCompositionCd;
    }

    public void setMaterialCompositionCd(String materialCompositionCd) {
        this.materialCompositionCd = materialCompositionCd;
    }

    public String getMaterialComposition() {
        return materialComposition;
    }

    public void setMaterialComposition(String materialComposition) {
        this.materialComposition = materialComposition;
    }

    public String getMaterialSpec() {
        return materialSpec;
    }

    public void setMaterialSpec(String materialSpec) {
        this.materialSpec = materialSpec;
    }

    public String getMaterialSpecUnitCd() {
        return materialSpecUnitCd;
    }

    public void setMaterialSpecUnitCd(String materialSpecUnitCd) {
        this.materialSpecUnitCd = materialSpecUnitCd;
    }

    public String getMaterialUnitCd() {
        return materialUnitCd;
    }

    public void setMaterialUnitCd(String materialUnitCd) {
        this.materialUnitCd = materialUnitCd;
    }

    public String getMaterialTaxRebateCd() {
        return materialTaxRebateCd;
    }

    public void setMaterialTaxRebateCd(String materialTaxRebateCd) {
        this.materialTaxRebateCd = materialTaxRebateCd;
    }

    public String getFilePath() {
		return filePath;
	}

	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	public BigDecimal getMaterialCost() {
        return materialCost;
    }

    public void setMaterialCost(BigDecimal materialCost) {
        this.materialCost = materialCost;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

	public String getMaterialUseType() {
		return materialUseType;
	}

	public void setMaterialUseType(String materialUseType) {
		this.materialUseType = materialUseType;
	}

	public String getMaterialYear() {
		return materialYear;
	}

	public void setMaterialYear(String materialYear) {
		this.materialYear = materialYear;
	}

	public String getMaterialCraft() {
		return materialCraft;
	}

	public void setMaterialCraft(String materialCraft) {
		this.materialCraft = materialCraft;
	}

	public String getMaterialColor() {
		return materialColor;
	}

	public void setMaterialColor(String materialColor) {
		this.materialColor = materialColor;
	}

	public String getMaterialSeason() {
		return materialSeason;
	}

	public void setMaterialSeason(String materialSeason) {
		this.materialSeason = materialSeason;
	}

//	public MaterialPrice getMaterialPrice() {
//		return materialPrice;
//	}
//
//	public void setMaterialPrice(MaterialPrice materialPrice) {
//		this.materialPrice = materialPrice;
//	}

	public BigDecimal getPurchasePrice() {
		return purchasePrice;
	}

	public void setPurchasePrice(BigDecimal purchasePrice) {
		this.purchasePrice = purchasePrice;
	}

	public String getMaterialStyleCategory() {
		return materialStyleCategory;
	}

	public void setMaterialStyleCategory(String materialStyleCategory) {
		this.materialStyleCategory = materialStyleCategory;
	}

	public String getMaterialPlacement() {
		return materialPlacement;
	}

	public void setMaterialPlacement(String materialPlacement) {
		this.materialPlacement = materialPlacement;
	}

	public UploadFile getUploadFile() {
		return uploadFile;
	}

	public void setUploadFile(UploadFile uploadFile) {
		this.uploadFile = uploadFile;
	}

//	public MaterialAlert getMaterialAlert() {
//		return materialAlert;
//	}
//
//	public void setMaterialAlert(MaterialAlert materialAlert) {
//		this.materialAlert = materialAlert;
//	}

	public String getMaterialLevel() {
		return materialLevel;
	}

	/**
	 * @return the materialGramWeight
	 */
	public String getMaterialGramWeight() {
		return materialGramWeight;
	}

	/**
	 * @param materialGramWeight the materialGramWeight to set
	 */
	public void setMaterialGramWeight(String materialGramWeight) {
		this.materialGramWeight = materialGramWeight;
	}

	public void setMaterialLevel(String materialLevel) {
		this.materialLevel = materialLevel;
	}

	/**
	 * @return the materialKnitMethod
	 */
	public String getMaterialKnitMethod() {
		return materialKnitMethod;
	}

	/**
	 * @param materialKnitMethod the materialKnitMethod to set
	 */
	public void setMaterialKnitMethod(String materialKnitMethod) {
		this.materialKnitMethod = materialKnitMethod;
	}

	/**
	 * @return the ognizationList
	 */
	public List<Ognization> getOgnizationList() {
		return ognizationList;
	}

	/**
	 * @param ognizationList the ognizationList to set
	 */
	public void setOgnizationList(List<Ognization> ognizationList) {
		this.ognizationList = ognizationList;
	}

	/**
	 * @return the materialBelongs
	 */
	public String getMaterialBelongs() {
		return materialBelongs;
	}

	/**
	 * @param materialBelongs the materialBelongs to set
	 */
	public void setMaterialBelongs(String materialBelongs) {
		this.materialBelongs = materialBelongs;
	}

	/**
	 * @return the materialOgnizationId
	 */
	public String getMaterialOgnizationId() {
		return materialOgnizationId;
	}

	/**
	 * @param materialOgnizationId the materialOgnizationId to set
	 */
	public void setMaterialOgnizationId(String materialOgnizationId) {
		this.materialOgnizationId = materialOgnizationId;
	}

	/**
	 * @return the ognizationName
	 */
	public String getOgnizationName() {
		return ognizationName;
	}

	/**
	 * @param ognizationName the ognizationName to set
	 */
	public void setOgnizationName(String ognizationName) {
		this.ognizationName = ognizationName;
	}

	/**
	 * @return the venderId
	 */
	public String getVenderId() {
		return venderId;
	}

	/**
	 * @param venderId the venderId to set
	 */
	public void setVenderId(String venderId) {
		this.venderId = venderId;
	}

	public String getMaterialStitch() {
		return materialStitch;
	}

	public void setMaterialStitch(String materialStitch) {
		this.materialStitch = materialStitch;
	}

	public List<Material> getButtonList() {
		return buttonList;
	}

	public void setButtonList(List<Material> buttonList) {
		this.buttonList = buttonList;
	}

	public String getMaterialOther6() {
		return materialOther6;
	}

	public void setMaterialOther6(String materialOther6) {
		this.materialOther6 = materialOther6;
	}

	public String getMaterialOther7() {
		return materialOther7;
	}

	public void setMaterialOther7(String materialOther7) {
		this.materialOther7 = materialOther7;
	}


//	public InventoryMaterial getInventoryMaterial() {
//		return inventoryMaterial;
//	}
//
//	public void setInventoryMaterial(InventoryMaterial inventoryMaterial) {
//		this.inventoryMaterial = inventoryMaterial;
//	}

    
}
